#include <iostream>
#include <unistd.h>
#include <vector>
#include <sys/types.h>

using namespace std;

const int num = 10;

void SubProcessRun()
{
    while(true)
    {
        cout << "I am sub process, pid: " << getpid() << ", ppid: " << getppid() << std::endl;
        sleep(5);
    }
}

int main()
{
    vector<pid_t> allchild;
    for(int i = 0; i<num ; i++)
    {
        pid_t id = fork();
        if(id == 0)
        {
            // 子进程
            SubProcessRun();
        }
        // 这里是谁执行？父进程一个人
        allchild.push_back(id);
    }
        // 父进程
        cout << "我的所有孩子是：" ;
        for(auto child: allchild)
        {
            cout << child << " ";
        }
        cout << endl;

        sleep(10);
        while(true)
        {
            cout << "我是父进程，pid:" << getpid() << endl;
            sleep(1);
        }

    return 0;
}

